[INFO] cloning repository https://github.com/azmshoh/MEV-bot
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/azmshoh/MEV-bot" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fazmshoh%2FMEV-bot", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fazmshoh%2FMEV-bot'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 210b91dbd194154ac93b0eb1413db6d39fbfe90b
[INFO] testing azmshoh/MEV-bot against master#f9988fefd3add01f414f52b414308e7872622fee for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fazmshoh%2FMEV-bot" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/azmshoh/MEV-bot
[INFO] finished tweaking git repo https://github.com/azmshoh/MEV-bot
[INFO] tweaked toml for git repo https://github.com/azmshoh/MEV-bot written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/azmshoh/MEV-bot on toolchain f9988fefd3add01f414f52b414308e7872622fee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/azmshoh/MEV-bot already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: profile.release.hex
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rlp-derive v0.1.0
[INFO] [stderr]   Downloaded rand_xorshift v0.3.0
[INFO] [stderr]   Downloaded windows-strings v0.4.0
[INFO] [stderr]   Downloaded errno v0.3.11
[INFO] [stderr]   Downloaded open-fastrlp v0.1.4
[INFO] [stderr]   Downloaded open-fastrlp-derive v0.1.1
[INFO] [stderr]   Downloaded windows-result v0.3.2
[INFO] [stderr]   Downloaded icu_normalizer_data v1.5.1
[INFO] [stderr]   Downloaded bech32 v0.9.1
[INFO] [stderr]   Downloaded indenter v0.3.3
[INFO] [stderr]   Downloaded pem v1.1.1
[INFO] [stderr]   Downloaded futures-locks v0.7.1
[INFO] [stderr]   Downloaded ethers v2.0.14
[INFO] [stderr]   Downloaded lalrpop-util v0.20.2
[INFO] [stderr]   Downloaded path-slash v0.2.1
[INFO] [stderr]   Downloaded ethers-addressbook v2.0.14
[INFO] [stderr]   Downloaded ethers-signers v2.0.14
[INFO] [stderr]   Downloaded base64ct v1.7.3
[INFO] [stderr]   Downloaded const-hex v1.14.0
[INFO] [stderr]   Downloaded cargo-platform v0.1.9
[INFO] [stderr]   Downloaded coins-core v0.8.7
[INFO] [stderr]   Downloaded icu_locid_transform_data v1.5.1
[INFO] [stderr]   Downloaded socket2 v0.5.9
[INFO] [stderr]   Downloaded cargo_metadata v0.18.1
[INFO] [stderr]   Downloaded ethers-middleware v2.0.14
[INFO] [stderr]   Downloaded thiserror v2.0.12
[INFO] [stderr]   Downloaded enr v0.10.0
[INFO] [stderr]   Downloaded svm-rs v0.3.5
[INFO] [stderr]   Downloaded tokio-tungstenite v0.20.1
[INFO] [stderr]   Downloaded thiserror-impl v2.0.12
[INFO] [stderr]   Downloaded tempfile v3.19.1
[INFO] [stderr]   Downloaded ethabi v18.0.0
[INFO] [stderr]   Downloaded coins-bip32 v0.8.7
[INFO] [stderr]   Downloaded password-hash v0.4.2
[INFO] [stderr]   Downloaded data-encoding v2.8.0
[INFO] [stderr]   Downloaded ethers-etherscan v2.0.14
[INFO] [stderr]   Downloaded ethers-contract-derive v2.0.14
[INFO] [stderr]   Downloaded ethers-contract v2.0.14
[INFO] [stderr]   Downloaded phf_macros v0.11.3
[INFO] [stderr]   Downloaded ena v0.14.3
[INFO] [stderr]   Downloaded windows-core v0.61.0
[INFO] [stderr]   Downloaded camino v1.1.9
[INFO] [stderr]   Downloaded deranged v0.4.1
[INFO] [stderr]   Downloaded bzip2 v0.4.4
[INFO] [stderr]   Downloaded jsonwebtoken v8.3.0
[INFO] [stderr]   Downloaded ethers-contract-abigen v2.0.14
[INFO] [stderr]   Downloaded toml v0.8.20
[INFO] [stderr]   Downloaded miniz_oxide v0.8.7
[INFO] [stderr]   Downloaded tungstenite v0.20.1
[INFO] [stderr]   Downloaded solang-parser v0.3.3
[INFO] [stderr]   Downloaded tinyvec v1.9.0
[INFO] [stderr]   Downloaded ethers-providers v2.0.14
[INFO] [stderr]   Downloaded flate2 v1.1.1
[INFO] [stderr]   Downloaded coins-bip39 v0.8.7
[INFO] [stderr]   Downloaded ethers-solc v2.0.14
[INFO] [stderr]   Downloaded tracing-subscriber v0.3.19
[INFO] [stderr]   Downloaded ethers-core v2.0.14
[INFO] [stderr]   Downloaded icu_properties_data v1.5.1
[INFO] [stderr]   Downloaded proptest v1.6.0
[INFO] [stderr]   Downloaded lalrpop v0.20.2
[INFO] [stderr]   Downloaded rustix v1.0.5
[INFO] [stderr]   Downloaded hashers v1.0.1
[INFO] [stderr]   Downloaded bzip2-sys v0.1.13+1.0.8
[INFO] [stderr]   Downloaded zstd-sys v2.0.15+zstd.1.5.7
[INFO] [stderr]   Downloaded linux-raw-sys v0.9.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 76e17324878edc89625411c2d8b922a7453faa3a9cab5f2e6aa105672696a2e8
[INFO] running `Command { std: "docker" "start" "-a" "76e17324878edc89625411c2d8b922a7453faa3a9cab5f2e6aa105672696a2e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "76e17324878edc89625411c2d8b922a7453faa3a9cab5f2e6aa105672696a2e8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "76e17324878edc89625411c2d8b922a7453faa3a9cab5f2e6aa105672696a2e8", kill_on_drop: false }`
[INFO] [stdout] 76e17324878edc89625411c2d8b922a7453faa3a9cab5f2e6aa105672696a2e8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] abac769c0e00d662cbebe5154a9b58552c3a636696beb51e58bd1319214853fb
[INFO] running `Command { std: "docker" "start" "-a" "abac769c0e00d662cbebe5154a9b58552c3a636696beb51e58bd1319214853fb", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: profile.release.hex
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling const-oid v0.9.6
[INFO] [stderr]    Compiling zeroize v1.8.1
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling zerocopy v0.8.24
[INFO] [stderr]    Compiling rustversion v1.0.20
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling winnow v0.7.4
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling crunchy v0.2.3
[INFO] [stderr]    Compiling rustc-hex v2.1.0
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling byte-slice-cast v1.2.3
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling base16ct v0.2.0
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling cc v1.2.17
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]    Compiling smallvec v1.14.0
[INFO] [stderr]    Compiling indexmap v2.8.0
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling der v0.7.9
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling camino v1.1.9
[INFO] [stderr]    Compiling parity-scale-codec v3.7.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling litemap v0.7.5
[INFO] [stderr]    Compiling writeable v0.5.5
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.34
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.1
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling rustix v1.0.5
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling bitflags v2.9.0
[INFO] [stderr]    Compiling linux-raw-sys v0.9.3
[INFO] [stderr]    Compiling icu_properties_data v1.5.1
[INFO] [stderr]    Compiling rfc6979 v0.4.0
[INFO] [stderr]    Compiling ff v0.13.1
[INFO] [stderr]    Compiling crypto-bigint v0.5.5
[INFO] [stderr]    Compiling group v0.13.0
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.1
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling const_format v0.2.34
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling spki v0.7.3
[INFO] [stderr]    Compiling sec1 v0.7.3
[INFO] [stderr]    Compiling pkcs8 v0.10.2
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling socket2 v0.5.9
[INFO] [stderr]    Compiling uint v0.9.5
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.100
[INFO] [stderr]    Compiling elliptic-curve v0.13.8
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling utf16_iter v1.0.5
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling ecdsa v0.16.9
[INFO] [stderr]    Compiling write16 v1.0.0
[INFO] [stderr]    Compiling bumpalo v3.17.0
[INFO] [stderr]    Compiling rlp-derive v0.1.0
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling fixed-hash v0.8.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling chrono v0.4.40
[INFO] [stderr]    Compiling k256 v0.13.4
[INFO] [stderr]    Compiling const-hex v1.14.0
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling wasm-bindgen v0.2.100
[INFO] [stderr]    Compiling prettyplease v0.2.31
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling eyre v0.6.12
[INFO] [stderr]    Compiling powerfmt v0.2.0
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]    Compiling deranged v0.4.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling tempfile v3.19.1
[INFO] [stderr]    Compiling indenter v0.3.3
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling bs58 v0.5.1
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling ripemd v0.1.3
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling data-encoding v2.8.0
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling sct v0.7.1
[INFO] [stderr]    Compiling rustls-webpki v0.101.7
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.100
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling spin v0.5.2
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling bech32 v0.9.1
[INFO] [stderr]    Compiling pem v1.1.1
[INFO] [stderr]    Compiling wyz v0.5.1
[INFO] [stderr]    Compiling salsa20 v0.10.2
[INFO] [stderr]    Compiling pbkdf2 v0.11.0
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling funty v2.0.0
[INFO] [stderr]    Compiling send_wrapper v0.4.0
[INFO] [stderr]    Compiling scrypt v0.10.0
[INFO] [stderr]    Compiling Inflector v0.11.4
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling hashers v1.0.1
[INFO] [stderr]    Compiling pbkdf2 v0.12.2
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling futures-locks v0.7.1
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.100
[INFO] [stderr]    Compiling bitvec v1.0.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling impl-trait-for-tuples v0.2.3
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling derive_more v1.0.0
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling auto_impl v1.2.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.100
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling anyhow v1.0.97
[INFO] [stderr]    Compiling hashbrown v0.13.2
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling zerovec v0.10.4
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thread_local v1.1.8
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling lru v0.10.1
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling simple_asn1 v0.6.3
[INFO] [stderr]    Compiling js-sys v0.3.77
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling tracing-futures v0.2.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling tinystr v0.7.6
[INFO] [stderr]    Compiling icu_collections v1.5.0
[INFO] [stderr]    Compiling icu_locid v1.5.0
[INFO] [stderr]    Compiling icu_provider v1.5.0
[INFO] [stderr]    Compiling icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling serde_spanned v0.6.8
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling impl-serde v0.4.0
[INFO] [stderr]    Compiling cargo-platform v0.1.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling coins-core v0.8.7
[INFO] [stderr]    Compiling uuid v0.8.2
[INFO] [stderr]    Compiling toml_edit v0.22.24
[INFO] [stderr]    Compiling icu_properties v1.5.1
[INFO] [stderr]    Compiling coins-bip32 v0.8.7
[INFO] [stderr]    Compiling gloo-timers v0.2.6
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling rlp v0.5.2
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling tokio v1.44.1
[INFO] [stderr]    Compiling open-fastrlp-derive v0.1.1
[INFO] [stderr]    Compiling impl-rlp v0.3.0
[INFO] [stderr]    Compiling enr v0.10.0
[INFO] [stderr]    Compiling cargo_metadata v0.18.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling coins-bip39 v0.8.7
[INFO] [stderr]    Compiling jsonwebtoken v8.3.0
[INFO] [stderr]    Compiling eth-keystore v0.5.0
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling icu_normalizer v1.5.0
[INFO] [stderr]    Compiling idna_adapter v1.2.0
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]    Compiling toml v0.8.20
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling parity-scale-codec-derive v3.7.4
[INFO] [stderr]    Compiling scale-info-derive v2.11.6
[INFO] [stderr]    Compiling num_enum_derive v0.7.3
[INFO] [stderr]    Compiling tungstenite v0.20.1
[INFO] [stderr]    Compiling num_enum v0.7.3
[INFO] [stderr]    Compiling impl-codec v0.6.0
[INFO] [stderr]    Compiling scale-info v2.11.6
[INFO] [stderr]    Compiling tokio-util v0.7.14
[INFO] [stderr]    Compiling tokio-rustls v0.24.1
[INFO] [stderr]    Compiling tokio-tungstenite v0.20.1
[INFO] [stderr]    Compiling h2 v0.3.26
[INFO] [stderr]    Compiling ethbloom v0.13.0
[INFO] [stderr]    Compiling primitive-types v0.12.2
[INFO] [stderr]    Compiling ethereum-types v0.14.1
[INFO] [stderr]    Compiling ethabi v18.0.0
[INFO] [stderr]    Compiling open-fastrlp v0.1.4
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling ethers-core v2.0.14
[INFO] [stderr]    Compiling hyper-rustls v0.24.2
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling ethers-contract-abigen v2.0.14
[INFO] [stderr]    Compiling ethers-providers v2.0.14
[INFO] [stderr]    Compiling ethers-etherscan v2.0.14
[INFO] [stderr]    Compiling ethers-signers v2.0.14
[INFO] [stderr]    Compiling ethers-addressbook v2.0.14
[INFO] [stderr]    Compiling ethers-contract-derive v2.0.14
[INFO] [stderr]    Compiling ethers-contract v2.0.14
[INFO] [stderr]    Compiling ethers-middleware v2.0.14
[INFO] [stderr]    Compiling ethers v2.0.14
[INFO] [stderr]    Compiling pro_mev v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/main.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{info, debug, warn, error, Level};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bytes`
[INFO] [stdout]  --> src/mempool.rs:6:55
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ethers::types::{Transaction, H256, U256, Address, Bytes};
[INFO] [stdout]   |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `trace`
[INFO] [stdout]   --> src/mempool.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{info, debug, warn, error, trace};
[INFO] [stdout]    |                     ^^^^^        ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]  --> src/token.rs:6:36
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ethers::types::{Address, U256, H256};
[INFO] [stdout]   |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::contract::Contract`
[INFO] [stdout]  --> src/token.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ethers::contract::Contract;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Abi`, `ParamType`, and `Token`
[INFO] [stdout]  --> src/token.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ethers::abi::{Abi, Token, ParamType};
[INFO] [stdout]   |                   ^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]   --> src/token.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::{Mutex, RwLock};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/token.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/token.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tracing::{info, debug, warn, error, trace};
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `U64`
[INFO] [stdout]  --> src/pancake.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ethers::types::{Address, U256, U64, Bytes};
[INFO] [stdout]   |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Contract` and `Eip712`
[INFO] [stdout]  --> src/pancake.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ethers::contract::{Contract, Eip712, abigen};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::signers::Signer`
[INFO] [stdout]  --> src/pancake.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::signers::Signer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/strategy.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transaction`
[INFO] [stdout]  --> src/strategy.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::types::{Address, U256, H256, Transaction};
[INFO] [stdout]   |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/strategy.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/transaction.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockNumber`
[INFO] [stdout]  --> src/transaction.rs:7:82
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::types::{Address, U256, H256, Transaction, TransactionRequest, Bytes, BlockNumber};
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MiddlewareBuilder`
[INFO] [stdout]  --> src/transaction.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ethers::middleware::{SignerMiddleware, MiddlewareBuilder};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `hex` and `keccak256`
[INFO] [stdout]   --> src/transaction.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ethers::utils::{keccak256, hex};
[INFO] [stdout]    |                     ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParamType`
[INFO] [stdout]   --> src/transaction.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ethers::abi::{Token, encode, ParamType};
[INFO] [stdout]    |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/transaction.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `trace`, and `warn`
[INFO] [stdout]   --> src/transaction.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{info, debug, warn, error, trace};
[INFO] [stdout]    |                     ^^^^^  ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]   --> src/transaction.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::cmp::min;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]   --> src/transaction.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::hash::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MiddlewareBuilder`
[INFO] [stdout]  --> src/wallet.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ethers::middleware::{SignerMiddleware, MiddlewareBuilder};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::abi`
[INFO] [stdout]   --> src/wallet.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ethers::abi;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractFactory`
[INFO] [stdout]   --> src/wallet.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ethers::contract::{Contract, ContractFactory};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]   --> src/wallet.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{info, debug, warn, error};
[INFO] [stdout]    |                     ^^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> src/rpc_limiter.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, trace, warn, info};
[INFO] [stdout]   |                             ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Middleware`
[INFO] [stdout]  --> src/token.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::providers::{Provider, Ws, Middleware};
[INFO] [stdout]   |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Middleware`
[INFO] [stdout]  --> src/pancake.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ethers::providers::{Provider, Ws, Middleware};
[INFO] [stdout]   |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/transaction.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token1`
[INFO] [stdout]    --> src/token.rs:532:22
[INFO] [stdout]     |
[INFO] [stdout] 532 |         let (token0, token1) = if let Some(tokens) = tokens {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_token1`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/token.rs:639:45
[INFO] [stdout]     |
[INFO] [stdout] 639 |     async fn get_token_creation_time(&self, token_address: Address) -> Result<u64> {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bnb_amount`
[INFO] [stdout]    --> src/pancake.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         bnb_amount: U256,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bnb_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `evaluated_tx_count` is assigned to, but never used
[INFO] [stdout]    --> src/strategy.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut evaluated_tx_count = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_evaluated_tx_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `selected_tx_count` is assigned to, but never used
[INFO] [stdout]    --> src/strategy.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let mut selected_tx_count = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_selected_tx_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `evaluated_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:262:25
[INFO] [stdout]     |
[INFO] [stdout] 262 |                         evaluated_tx_count = 0;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 288 |                     evaluated_tx_count += 1;
[INFO] [stdout]     |                     ----------------------- `evaluated_tx_count` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `evaluated_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:288:21
[INFO] [stdout]     |
[INFO] [stdout] 288 |                     evaluated_tx_count += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:263:25
[INFO] [stdout]     |
[INFO] [stdout] 263 |                         selected_tx_count = 0;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 290 |                         selected_tx_count += 1;
[INFO] [stdout]     |                         ---------------------- `selected_tx_count` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:290:25
[INFO] [stdout]     |
[INFO] [stdout] 290 |                         selected_tx_count += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wallet`
[INFO] [stdout]    --> src/strategy.rs:512:50
[INFO] [stdout]     |
[INFO] [stdout] 512 |                         Ok(Some((wallet_address, wallet))) => {
[INFO] [stdout]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wallet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/transaction.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 403 |         let path = vec![self.wbnb_address, token_address];
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/transaction.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let path = vec![token_address, self.wbnb_address];
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mempool_handle`
[INFO] [stdout]    --> src/main.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let mempool_handle = tokio::spawn(async move {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mempool_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strategy_handle`
[INFO] [stdout]    --> src/main.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let strategy_handle = tokio::spawn(async move {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rpc_http_url`, `flashbots_rpc`, `gas_limit_multiplier`, and `timeout_ms` are never read
[INFO] [stdout]   --> src/config.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct BotConfig {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub rpc_http_url: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub flashbots_rpc: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub gas_limit_multiplier: f64,      // Gas limitini oshirish (13.0x)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     pub timeout_ms: u64,                // Tranzaksiya timeout (5000ms)
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BotConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_BNB_BALANCE` is never used
[INFO] [stdout]    --> src/config.rs:136:15
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub const MIN_BNB_BALANCE: f64 = 0.1;  // Bot ishlashi uchun minimal BNB miqdori
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PENDING_TXS` is never used
[INFO] [stdout]    --> src/config.rs:137:15
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub const MAX_PENDING_TXS: usize = 3;  // Bir vaqtda yuborish mumkin bo'lgan maksimal tranzaksiyalar soni
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_GAS_PRICE` is never used
[INFO] [stdout]    --> src/config.rs:138:15
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub const MAX_GAS_PRICE: u64 = 50_000_000_000; // Max gas narxi (50 Gwei)
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_TOKEN_AGE_SECONDS` is never used
[INFO] [stdout]    --> src/config.rs:139:15
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub const MIN_TOKEN_AGE_SECONDS: u64 = 3600;   // Minimal token yoshi (1 soat)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEMPOOL_SCAN_INTERVAL_MS` is never used
[INFO] [stdout]    --> src/config.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub const MEMPOOL_SCAN_INTERVAL_MS: u64 = 500; // Mempool'ni tekshirish oraliği (500ms)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SLIPPAGE_THRESHOLD` is never used
[INFO] [stdout]    --> src/config.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub const MAX_SLIPPAGE_THRESHOLD: f64 = 1.0;   // Front-running uchun minimal slippage (1%)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/token.rs:368:14
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TokenAnalyzer {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 368 |     async fn analyze_multiple_tokens_in_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 405 |     pub async fn minimal_token_check(&self, token_address: Address) -> Result<bool> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 577 |     async fn is_token_honeypot(&self, token_address: Address) -> Result<(bool, f64)> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 653 |     pub async fn calculate_slippage(&self, token_address: Address, bnb_amount: U256) -> Result<f64> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 770 |     pub async fn batch_analyze_tokens(&self, token_addresses: Vec<Address>) -> Result<Vec<TokenMetadata>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 829 |     pub async fn get_token_price_in_bnb(&self, token_address: Address, token_amount: U256) -> Result<U256> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 850 |     pub async fn get_bnb_amount_for_tokens(&self, token_address: Address, token_amount: U256) -> Result<U256> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 871 |     pub async fn analyze_tokens_liquidity(&self, token_addresses: &[Address]) -> Result<HashMap<Address, U256>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 897 |     pub async fn should_blacklist_token(&self, token_address: Address) -> Result<(bool, String)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 931 |     pub async fn is_token_rugged(&self, token_address: Address, old_liquidity: U256) -> Result<bool> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PancakeHelper` is never constructed
[INFO] [stdout]   --> src/pancake.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct PancakeHelper {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_pair_liquidity`, `create_swap_eth_for_tokens_tx`, `create_swap_tokens_for_eth_tx`, `get_token_price_in_bnb`, and `get_bnb_price_in_token` are never used
[INFO] [stdout]    --> src/pancake.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl PancakeHelper {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  92 |     /// Yangi PancakeHelper yaratish
[INFO] [stdout]  93 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub async fn get_pair_liquidity(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub async fn create_swap_eth_for_tokens_tx(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub async fn create_swap_tokens_for_eth_tx(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub async fn get_token_price_in_bnb(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub async fn get_bnb_price_in_token(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BuySubmitted`, `BuyConfirmed`, `SellSubmitted`, `SellConfirmed`, and `Failed` are never constructed
[INFO] [stdout]   --> src/strategy.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum OperationStatus {
[INFO] [stdout]    |      --------------- variants in this enum
[INFO] [stdout] 24 |     Pending,
[INFO] [stdout] 25 |     BuySubmitted(H256),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 26 |     BuyConfirmed,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 27 |     SellSubmitted(H256),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 28 |     SellConfirmed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 29 |     Failed(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperationStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start_time`, `gas_price`, `gas_boost`, `retries`, and `submission_time` are never read
[INFO] [stdout]   --> src/strategy.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct FrontRunOperation {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 44 |     gas_price: U256,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 45 |     gas_boost: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     retries: u8,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     submission_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FrontRunOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `original_tx` is never read
[INFO] [stdout]   --> src/transaction.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct PendingTx {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub original_tx: Transaction,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingTx` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `main_wallet` is never read
[INFO] [stdout]   --> src/wallet.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct WalletManager {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 21 |     pub wallets: HashMap<Address, LocalWallet>,
[INFO] [stdout] 22 |     pub main_wallet: LocalWallet,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WalletManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/wallet.rs:60:18
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl WalletManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub async fn check_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub async fn check_all_balances(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub async fn get_eligible_wallets(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub async fn check_token_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub async fn get_wallet_nonces(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub async fn select_least_busy_wallet(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub async fn transfer_bnb(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub async fn approve_token(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_concurrent_requests` is never read
[INFO] [stdout]   --> src/rpc_limiter.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RpcRateLimiter {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     max_concurrent_requests: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RpcRateLimiter` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `acquire_many` and `get_status` are never used
[INFO] [stdout]    --> src/rpc_limiter.rs:116:18
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl RpcRateLimiter {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub async fn acquire_many(&self, n: usize) -> Vec<RpcPermit> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub async fn get_status(&self) -> (u32, Duration) {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_transaction` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub async fn get_transaction(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_transaction_receipt` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:171:18
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub async fn get_transaction_receipt(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_balance` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:196:18
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub async fn get_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_gas_price` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:226:18
[INFO] [stdout]     |
[INFO] [stdout] 226 |     pub async fn get_gas_price(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 23s
[INFO] running `Command { std: "docker" "inspect" "abac769c0e00d662cbebe5154a9b58552c3a636696beb51e58bd1319214853fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "abac769c0e00d662cbebe5154a9b58552c3a636696beb51e58bd1319214853fb", kill_on_drop: false }`
[INFO] [stdout] abac769c0e00d662cbebe5154a9b58552c3a636696beb51e58bd1319214853fb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2623cd82df0b8fffa8173e3b22f7d0ea213f258a923ab0c6c4516f7a8542b493
[INFO] running `Command { std: "docker" "start" "-a" "2623cd82df0b8fffa8173e3b22f7d0ea213f258a923ab0c6c4516f7a8542b493", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: profile.release.hex
[INFO] [stderr]    Compiling pro_mev v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/main.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{info, debug, warn, error, Level};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Bytes`
[INFO] [stdout]  --> src/mempool.rs:6:55
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ethers::types::{Transaction, H256, U256, Address, Bytes};
[INFO] [stdout]   |                                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, and `trace`
[INFO] [stdout]   --> src/mempool.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{info, debug, warn, error, trace};
[INFO] [stdout]    |                     ^^^^^        ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `H256`
[INFO] [stdout]  --> src/token.rs:6:36
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ethers::types::{Address, U256, H256};
[INFO] [stdout]   |                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::contract::Contract`
[INFO] [stdout]  --> src/token.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ethers::contract::Contract;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Abi`, `ParamType`, and `Token`
[INFO] [stdout]  --> src/token.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ethers::abi::{Abi, Token, ParamType};
[INFO] [stdout]   |                   ^^^  ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]   --> src/token.rs:10:26
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::{Mutex, RwLock};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/token.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/token.rs:13:34
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tracing::{info, debug, warn, error, trace};
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `U64`
[INFO] [stdout]  --> src/pancake.rs:4:36
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ethers::types::{Address, U256, U64, Bytes};
[INFO] [stdout]   |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Contract` and `Eip712`
[INFO] [stdout]  --> src/pancake.rs:5:24
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ethers::contract::{Contract, Eip712, abigen};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::signers::Signer`
[INFO] [stdout]  --> src/pancake.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::signers::Signer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/strategy.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transaction`
[INFO] [stdout]  --> src/strategy.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::types::{Address, U256, H256, Transaction};
[INFO] [stdout]   |                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/strategy.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/transaction.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BlockNumber`
[INFO] [stdout]  --> src/transaction.rs:7:82
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::types::{Address, U256, H256, Transaction, TransactionRequest, Bytes, BlockNumber};
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MiddlewareBuilder`
[INFO] [stdout]  --> src/transaction.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ethers::middleware::{SignerMiddleware, MiddlewareBuilder};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `hex` and `keccak256`
[INFO] [stdout]   --> src/transaction.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ethers::utils::{keccak256, hex};
[INFO] [stdout]    |                     ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParamType`
[INFO] [stdout]   --> src/transaction.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ethers::abi::{Token, encode, ParamType};
[INFO] [stdout]    |                                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]   --> src/transaction.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | use anyhow::{Result, anyhow, Context};
[INFO] [stdout]    |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `error`, `trace`, and `warn`
[INFO] [stdout]   --> src/transaction.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{info, debug, warn, error, trace};
[INFO] [stdout]    |                     ^^^^^  ^^^^  ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::min`
[INFO] [stdout]   --> src/transaction.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::cmp::min;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]   --> src/transaction.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::hash::Hash;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MiddlewareBuilder`
[INFO] [stdout]  --> src/wallet.rs:9:44
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ethers::middleware::{SignerMiddleware, MiddlewareBuilder};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ethers::abi`
[INFO] [stdout]   --> src/wallet.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ethers::abi;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContractFactory`
[INFO] [stdout]   --> src/wallet.rs:12:34
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ethers::contract::{Contract, ContractFactory};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `error`
[INFO] [stdout]   --> src/wallet.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{info, debug, warn, error};
[INFO] [stdout]    |                     ^^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> src/rpc_limiter.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, trace, warn, info};
[INFO] [stdout]   |                             ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Middleware`
[INFO] [stdout]  --> src/token.rs:7:39
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ethers::providers::{Provider, Ws, Middleware};
[INFO] [stdout]   |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Middleware`
[INFO] [stdout]  --> src/pancake.rs:6:39
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ethers::providers::{Provider, Ws, Middleware};
[INFO] [stdout]   |                                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/transaction.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token1`
[INFO] [stdout]    --> src/token.rs:532:22
[INFO] [stdout]     |
[INFO] [stdout] 532 |         let (token0, token1) = if let Some(tokens) = tokens {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_token1`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token_address`
[INFO] [stdout]    --> src/token.rs:639:45
[INFO] [stdout]     |
[INFO] [stdout] 639 |     async fn get_token_creation_time(&self, token_address: Address) -> Result<u64> {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bnb_amount`
[INFO] [stdout]    --> src/pancake.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         bnb_amount: U256,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bnb_amount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `evaluated_tx_count` is assigned to, but never used
[INFO] [stdout]    --> src/strategy.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut evaluated_tx_count = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_evaluated_tx_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `selected_tx_count` is assigned to, but never used
[INFO] [stdout]    --> src/strategy.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let mut selected_tx_count = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_selected_tx_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `evaluated_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:262:25
[INFO] [stdout]     |
[INFO] [stdout] 262 |                         evaluated_tx_count = 0;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 288 |                     evaluated_tx_count += 1;
[INFO] [stdout]     |                     ----------------------- `evaluated_tx_count` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `evaluated_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:288:21
[INFO] [stdout]     |
[INFO] [stdout] 288 |                     evaluated_tx_count += 1;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:263:25
[INFO] [stdout]     |
[INFO] [stdout] 263 |                         selected_tx_count = 0;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 290 |                         selected_tx_count += 1;
[INFO] [stdout]     |                         ---------------------- `selected_tx_count` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `selected_tx_count` is never read
[INFO] [stdout]    --> src/strategy.rs:290:25
[INFO] [stdout]     |
[INFO] [stdout] 290 |                         selected_tx_count += 1;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `wallet`
[INFO] [stdout]    --> src/strategy.rs:512:50
[INFO] [stdout]     |
[INFO] [stdout] 512 |                         Ok(Some((wallet_address, wallet))) => {
[INFO] [stdout]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wallet`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/transaction.rs:403:13
[INFO] [stdout]     |
[INFO] [stdout] 403 |         let path = vec![self.wbnb_address, token_address];
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/transaction.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let path = vec![token_address, self.wbnb_address];
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mempool_handle`
[INFO] [stdout]    --> src/main.rs:128:9
[INFO] [stdout]     |
[INFO] [stdout] 128 |     let mempool_handle = tokio::spawn(async move {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mempool_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `strategy_handle`
[INFO] [stdout]    --> src/main.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let strategy_handle = tokio::spawn(async move {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `rpc_http_url`, `flashbots_rpc`, `gas_limit_multiplier`, and `timeout_ms` are never read
[INFO] [stdout]   --> src/config.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct BotConfig {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub rpc_http_url: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub flashbots_rpc: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub gas_limit_multiplier: f64,      // Gas limitini oshirish (13.0x)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     pub timeout_ms: u64,                // Tranzaksiya timeout (5000ms)
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BotConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_BNB_BALANCE` is never used
[INFO] [stdout]    --> src/config.rs:136:15
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub const MIN_BNB_BALANCE: f64 = 0.1;  // Bot ishlashi uchun minimal BNB miqdori
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_PENDING_TXS` is never used
[INFO] [stdout]    --> src/config.rs:137:15
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub const MAX_PENDING_TXS: usize = 3;  // Bir vaqtda yuborish mumkin bo'lgan maksimal tranzaksiyalar soni
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_GAS_PRICE` is never used
[INFO] [stdout]    --> src/config.rs:138:15
[INFO] [stdout]     |
[INFO] [stdout] 138 |     pub const MAX_GAS_PRICE: u64 = 50_000_000_000; // Max gas narxi (50 Gwei)
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_TOKEN_AGE_SECONDS` is never used
[INFO] [stdout]    --> src/config.rs:139:15
[INFO] [stdout]     |
[INFO] [stdout] 139 |     pub const MIN_TOKEN_AGE_SECONDS: u64 = 3600;   // Minimal token yoshi (1 soat)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEMPOOL_SCAN_INTERVAL_MS` is never used
[INFO] [stdout]    --> src/config.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 |     pub const MEMPOOL_SCAN_INTERVAL_MS: u64 = 500; // Mempool'ni tekshirish oraliği (500ms)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_SLIPPAGE_THRESHOLD` is never used
[INFO] [stdout]    --> src/config.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 141 |     pub const MAX_SLIPPAGE_THRESHOLD: f64 = 1.0;   // Front-running uchun minimal slippage (1%)
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/token.rs:368:14
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl TokenAnalyzer {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 368 |     async fn analyze_multiple_tokens_in_parallel(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 405 |     pub async fn minimal_token_check(&self, token_address: Address) -> Result<bool> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 577 |     async fn is_token_honeypot(&self, token_address: Address) -> Result<(bool, f64)> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 653 |     pub async fn calculate_slippage(&self, token_address: Address, bnb_amount: U256) -> Result<f64> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 770 |     pub async fn batch_analyze_tokens(&self, token_addresses: Vec<Address>) -> Result<Vec<TokenMetadata>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 829 |     pub async fn get_token_price_in_bnb(&self, token_address: Address, token_amount: U256) -> Result<U256> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 850 |     pub async fn get_bnb_amount_for_tokens(&self, token_address: Address, token_amount: U256) -> Result<U256> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 871 |     pub async fn analyze_tokens_liquidity(&self, token_addresses: &[Address]) -> Result<HashMap<Address, U256>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 897 |     pub async fn should_blacklist_token(&self, token_address: Address) -> Result<(bool, String)> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 931 |     pub async fn is_token_rugged(&self, token_address: Address, old_liquidity: U256) -> Result<bool> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PancakeHelper` is never constructed
[INFO] [stdout]   --> src/pancake.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct PancakeHelper {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_pair_liquidity`, `create_swap_eth_for_tokens_tx`, `create_swap_tokens_for_eth_tx`, `get_token_price_in_bnb`, and `get_bnb_price_in_token` are never used
[INFO] [stdout]    --> src/pancake.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl PancakeHelper {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  92 |     /// Yangi PancakeHelper yaratish
[INFO] [stdout]  93 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub async fn get_pair_liquidity(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub async fn create_swap_eth_for_tokens_tx(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub async fn create_swap_tokens_for_eth_tx(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub async fn get_token_price_in_bnb(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub async fn get_bnb_price_in_token(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `BuySubmitted`, `BuyConfirmed`, `SellSubmitted`, `SellConfirmed`, and `Failed` are never constructed
[INFO] [stdout]   --> src/strategy.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | enum OperationStatus {
[INFO] [stdout]    |      --------------- variants in this enum
[INFO] [stdout] 24 |     Pending,
[INFO] [stdout] 25 |     BuySubmitted(H256),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 26 |     BuyConfirmed,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 27 |     SellSubmitted(H256),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 28 |     SellConfirmed,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 29 |     Failed(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperationStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `start_time`, `gas_price`, `gas_boost`, `retries`, and `submission_time` are never read
[INFO] [stdout]   --> src/strategy.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct FrontRunOperation {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     start_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 44 |     gas_price: U256,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 45 |     gas_boost: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     retries: u8,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     submission_time: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FrontRunOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `original_tx` is never read
[INFO] [stdout]   --> src/transaction.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct PendingTx {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub original_tx: Transaction,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingTx` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `main_wallet` is never read
[INFO] [stdout]   --> src/wallet.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct WalletManager {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 21 |     pub wallets: HashMap<Address, LocalWallet>,
[INFO] [stdout] 22 |     pub main_wallet: LocalWallet,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WalletManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/wallet.rs:60:18
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl WalletManager {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub async fn check_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub async fn check_all_balances(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub async fn get_eligible_wallets(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub async fn check_token_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub async fn get_wallet_nonces(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub async fn select_least_busy_wallet(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub async fn transfer_bnb(
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub async fn approve_token(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_concurrent_requests` is never read
[INFO] [stdout]   --> src/rpc_limiter.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct RpcRateLimiter {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     max_concurrent_requests: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RpcRateLimiter` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `acquire_many` and `get_status` are never used
[INFO] [stdout]    --> src/rpc_limiter.rs:116:18
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl RpcRateLimiter {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub async fn acquire_many(&self, n: usize) -> Vec<RpcPermit> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub async fn get_status(&self) -> (u32, Duration) {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_transaction` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout] 146 |     pub async fn get_transaction(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_transaction_receipt` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:171:18
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub async fn get_transaction_receipt(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_balance` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:196:18
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub async fn get_balance(
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_gas_price` is never used
[INFO] [stdout]    --> src/rpc_limiter.rs:226:18
[INFO] [stdout]     |
[INFO] [stdout] 226 |     pub async fn get_gas_price(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.46s
[INFO] running `Command { std: "docker" "inspect" "2623cd82df0b8fffa8173e3b22f7d0ea213f258a923ab0c6c4516f7a8542b493", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2623cd82df0b8fffa8173e3b22f7d0ea213f258a923ab0c6c4516f7a8542b493", kill_on_drop: false }`
[INFO] [stdout] 2623cd82df0b8fffa8173e3b22f7d0ea213f258a923ab0c6c4516f7a8542b493
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 08a5b349f0143dd097624ddfc16aaee36f56564bc8cecb0b37f51207954513d9
[INFO] running `Command { std: "docker" "start" "-a" "08a5b349f0143dd097624ddfc16aaee36f56564bc8cecb0b37f51207954513d9", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: profile.release.hex
[INFO] [stderr] warning: unused import: `debug`
[INFO] [stderr]  --> src/main.rs:7:21
[INFO] [stderr]   |
[INFO] [stderr] 7 | use tracing::{info, debug, warn, error, Level};
[INFO] [stderr]   |                     ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Bytes`
[INFO] [stderr]  --> src/mempool.rs:6:55
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ethers::types::{Transaction, H256, U256, Address, Bytes};
[INFO] [stderr]   |                                                       ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `debug`, `error`, and `trace`
[INFO] [stderr]   --> src/mempool.rs:11:21
[INFO] [stderr]    |
[INFO] [stderr] 11 | use tracing::{info, debug, warn, error, trace};
[INFO] [stderr]    |                     ^^^^^        ^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `H256`
[INFO] [stderr]  --> src/token.rs:6:36
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ethers::types::{Address, U256, H256};
[INFO] [stderr]   |                                    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ethers::contract::Contract`
[INFO] [stderr]  --> src/token.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use ethers::contract::Contract;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Abi`, `ParamType`, and `Token`
[INFO] [stderr]  --> src/token.rs:9:19
[INFO] [stderr]   |
[INFO] [stderr] 9 | use ethers::abi::{Abi, Token, ParamType};
[INFO] [stderr]   |                   ^^^  ^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `RwLock`
[INFO] [stderr]   --> src/token.rs:10:26
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tokio::sync::{Mutex, RwLock};
[INFO] [stderr]    |                          ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]   --> src/token.rs:12:30
[INFO] [stderr]    |
[INFO] [stderr] 12 | use anyhow::{Result, anyhow, Context};
[INFO] [stderr]    |                              ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]   --> src/token.rs:13:34
[INFO] [stderr]    |
[INFO] [stderr] 13 | use tracing::{info, debug, warn, error, trace};
[INFO] [stderr]    |                                  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `U64`
[INFO] [stderr]  --> src/pancake.rs:4:36
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ethers::types::{Address, U256, U64, Bytes};
[INFO] [stderr]   |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Contract` and `Eip712`
[INFO] [stderr]  --> src/pancake.rs:5:24
[INFO] [stderr]   |
[INFO] [stderr] 5 | use ethers::contract::{Contract, Eip712, abigen};
[INFO] [stderr]   |                        ^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ethers::signers::Signer`
[INFO] [stderr]  --> src/pancake.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use ethers::signers::Signer;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]  --> src/strategy.rs:5:33
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stderr]   |                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Transaction`
[INFO] [stderr]  --> src/strategy.rs:7:42
[INFO] [stderr]   |
[INFO] [stderr] 7 | use ethers::types::{Address, U256, H256, Transaction};
[INFO] [stderr]   |                                          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]   --> src/strategy.rs:12:30
[INFO] [stderr]    |
[INFO] [stderr] 12 | use anyhow::{Result, anyhow, Context};
[INFO] [stderr]    |                              ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/transaction.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BlockNumber`
[INFO] [stderr]  --> src/transaction.rs:7:82
[INFO] [stderr]   |
[INFO] [stderr] 7 | use ethers::types::{Address, U256, H256, Transaction, TransactionRequest, Bytes, BlockNumber};
[INFO] [stderr]   |                                                                                  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `MiddlewareBuilder`
[INFO] [stderr]  --> src/transaction.rs:9:44
[INFO] [stderr]   |
[INFO] [stderr] 9 | use ethers::middleware::{SignerMiddleware, MiddlewareBuilder};
[INFO] [stderr]   |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `hex` and `keccak256`
[INFO] [stderr]   --> src/transaction.rs:11:21
[INFO] [stderr]    |
[INFO] [stderr] 11 | use ethers::utils::{keccak256, hex};
[INFO] [stderr]    |                     ^^^^^^^^^  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ParamType`
[INFO] [stderr]   --> src/transaction.rs:12:34
[INFO] [stderr]    |
[INFO] [stderr] 12 | use ethers::abi::{Token, encode, ParamType};
[INFO] [stderr]    |                                  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]   --> src/transaction.rs:14:30
[INFO] [stderr]    |
[INFO] [stderr] 14 | use anyhow::{Result, anyhow, Context};
[INFO] [stderr]    |                              ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `debug`, `error`, `trace`, and `warn`
[INFO] [stderr]   --> src/transaction.rs:15:21
[INFO] [stderr]    |
[INFO] [stderr] 15 | use tracing::{info, debug, warn, error, trace};
[INFO] [stderr]    |                     ^^^^^  ^^^^  ^^^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::min`
[INFO] [stderr]   --> src/transaction.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use std::cmp::min;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::hash::Hash`
[INFO] [stderr]   --> src/transaction.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | use std::hash::Hash;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `MiddlewareBuilder`
[INFO] [stderr]  --> src/wallet.rs:9:44
[INFO] [stderr]   |
[INFO] [stderr] 9 | use ethers::middleware::{SignerMiddleware, MiddlewareBuilder};
[INFO] [stderr]   |                                            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ethers::abi`
[INFO] [stderr]   --> src/wallet.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use ethers::abi;
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ContractFactory`
[INFO] [stderr]   --> src/wallet.rs:12:34
[INFO] [stderr]    |
[INFO] [stderr] 12 | use ethers::contract::{Contract, ContractFactory};
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `debug` and `error`
[INFO] [stderr]   --> src/wallet.rs:14:21
[INFO] [stderr]    |
[INFO] [stderr] 14 | use tracing::{info, debug, warn, error};
[INFO] [stderr]    |                     ^^^^^        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `info` and `warn`
[INFO] [stderr]  --> src/rpc_limiter.rs:7:29
[INFO] [stderr]   |
[INFO] [stderr] 7 | use tracing::{debug, trace, warn, info};
[INFO] [stderr]   |                             ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Middleware`
[INFO] [stderr]  --> src/token.rs:7:39
[INFO] [stderr]   |
[INFO] [stderr] 7 | use ethers::providers::{Provider, Ws, Middleware};
[INFO] [stderr]   |                                       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Middleware`
[INFO] [stderr]  --> src/pancake.rs:6:39
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ethers::providers::{Provider, Ws, Middleware};
[INFO] [stderr]   |                                       ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `itertools::Itertools`
[INFO] [stderr]   --> src/transaction.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use itertools::Itertools;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token1`
[INFO] [stderr]    --> src/token.rs:532:22
[INFO] [stderr]     |
[INFO] [stderr] 532 |         let (token0, token1) = if let Some(tokens) = tokens {
[INFO] [stderr]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_token1`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `token_address`
[INFO] [stderr]    --> src/token.rs:639:45
[INFO] [stderr]     |
[INFO] [stderr] 639 |     async fn get_token_creation_time(&self, token_address: Address) -> Result<u64> {
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_address`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bnb_amount`
[INFO] [stderr]    --> src/pancake.rs:144:9
[INFO] [stderr]     |
[INFO] [stderr] 144 |         bnb_amount: U256,
[INFO] [stderr]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bnb_amount`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `evaluated_tx_count` is assigned to, but never used
[INFO] [stderr]    --> src/strategy.rs:243:13
[INFO] [stderr]     |
[INFO] [stderr] 243 |         let mut evaluated_tx_count = 0;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_evaluated_tx_count` instead
[INFO] [stderr] 
[INFO] [stderr] warning: variable `selected_tx_count` is assigned to, but never used
[INFO] [stderr]    --> src/strategy.rs:244:13
[INFO] [stderr]     |
[INFO] [stderr] 244 |         let mut selected_tx_count = 0;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_selected_tx_count` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `evaluated_tx_count` is never read
[INFO] [stderr]    --> src/strategy.rs:262:25
[INFO] [stderr]     |
[INFO] [stderr] 262 |                         evaluated_tx_count = 0;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 288 |                     evaluated_tx_count += 1;
[INFO] [stderr]     |                     ----------------------- `evaluated_tx_count` is overwritten here before the previous value is read
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `evaluated_tx_count` is never read
[INFO] [stderr]    --> src/strategy.rs:288:21
[INFO] [stderr]     |
[INFO] [stderr] 288 |                     evaluated_tx_count += 1;
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `selected_tx_count` is never read
[INFO] [stderr]    --> src/strategy.rs:263:25
[INFO] [stderr]     |
[INFO] [stderr] 263 |                         selected_tx_count = 0;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 290 |                         selected_tx_count += 1;
[INFO] [stderr]     |                         ---------------------- `selected_tx_count` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `selected_tx_count` is never read
[INFO] [stderr]    --> src/strategy.rs:290:25
[INFO] [stderr]     |
[INFO] [stderr] 290 |                         selected_tx_count += 1;
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `wallet`
[INFO] [stderr]    --> src/strategy.rs:512:50
[INFO] [stderr]     |
[INFO] [stderr] 512 |                         Ok(Some((wallet_address, wallet))) => {
[INFO] [stderr]     |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_wallet`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]    --> src/transaction.rs:403:13
[INFO] [stderr]     |
[INFO] [stderr] 403 |         let path = vec![self.wbnb_address, token_address];
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]    --> src/transaction.rs:479:13
[INFO] [stderr]     |
[INFO] [stderr] 479 |         let path = vec![token_address, self.wbnb_address];
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `mempool_handle`
[INFO] [stderr]    --> src/main.rs:128:9
[INFO] [stderr]     |
[INFO] [stderr] 128 |     let mempool_handle = tokio::spawn(async move {
[INFO] [stderr]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mempool_handle`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `strategy_handle`
[INFO] [stderr]    --> src/main.rs:135:9
[INFO] [stderr]     |
[INFO] [stderr] 135 |     let strategy_handle = tokio::spawn(async move {
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_strategy_handle`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `rpc_http_url`, `flashbots_rpc`, `gas_limit_multiplier`, and `timeout_ms` are never read
[INFO] [stderr]   --> src/config.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct BotConfig {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 16 |     pub rpc_http_url: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 17 |     pub flashbots_rpc: Option<String>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 |     pub gas_limit_multiplier: f64,      // Gas limitini oshirish (13.0x)
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 33 |     pub timeout_ms: u64,                // Tranzaksiya timeout (5000ms)
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BotConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MIN_BNB_BALANCE` is never used
[INFO] [stderr]    --> src/config.rs:136:15
[INFO] [stderr]     |
[INFO] [stderr] 136 |     pub const MIN_BNB_BALANCE: f64 = 0.1;  // Bot ishlashi uchun minimal BNB miqdori
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MAX_PENDING_TXS` is never used
[INFO] [stderr]    --> src/config.rs:137:15
[INFO] [stderr]     |
[INFO] [stderr] 137 |     pub const MAX_PENDING_TXS: usize = 3;  // Bir vaqtda yuborish mumkin bo'lgan maksimal tranzaksiyalar soni
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MAX_GAS_PRICE` is never used
[INFO] [stderr]    --> src/config.rs:138:15
[INFO] [stderr]     |
[INFO] [stderr] 138 |     pub const MAX_GAS_PRICE: u64 = 50_000_000_000; // Max gas narxi (50 Gwei)
[INFO] [stderr]     |               ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MIN_TOKEN_AGE_SECONDS` is never used
[INFO] [stderr]    --> src/config.rs:139:15
[INFO] [stderr]     |
[INFO] [stderr] 139 |     pub const MIN_TOKEN_AGE_SECONDS: u64 = 3600;   // Minimal token yoshi (1 soat)
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MEMPOOL_SCAN_INTERVAL_MS` is never used
[INFO] [stderr]    --> src/config.rs:140:15
[INFO] [stderr]     |
[INFO] [stderr] 140 |     pub const MEMPOOL_SCAN_INTERVAL_MS: u64 = 500; // Mempool'ni tekshirish oraliği (500ms)
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `MAX_SLIPPAGE_THRESHOLD` is never used
[INFO] [stderr]    --> src/config.rs:141:15
[INFO] [stderr]     |
[INFO] [stderr] 141 |     pub const MAX_SLIPPAGE_THRESHOLD: f64 = 1.0;   // Front-running uchun minimal slippage (1%)
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/token.rs:368:14
[INFO] [stderr]     |
[INFO] [stderr] 120 | impl TokenAnalyzer {
[INFO] [stderr]     | ------------------ associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 368 |     async fn analyze_multiple_tokens_in_parallel(
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 405 |     pub async fn minimal_token_check(&self, token_address: Address) -> Result<bool> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 577 |     async fn is_token_honeypot(&self, token_address: Address) -> Result<(bool, f64)> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 653 |     pub async fn calculate_slippage(&self, token_address: Address, bnb_amount: U256) -> Result<f64> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 770 |     pub async fn batch_analyze_tokens(&self, token_addresses: Vec<Address>) -> Result<Vec<TokenMetadata>> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 829 |     pub async fn get_token_price_in_bnb(&self, token_address: Address, token_amount: U256) -> Result<U256> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 850 |     pub async fn get_bnb_amount_for_tokens(&self, token_address: Address, token_amount: U256) -> Result<U256> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 871 |     pub async fn analyze_tokens_liquidity(&self, token_addresses: &[Address]) -> Result<HashMap<Address, U256>> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 897 |     pub async fn should_blacklist_token(&self, token_address: Address) -> Result<(bool, String)> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 931 |     pub async fn is_token_rugged(&self, token_address: Address, old_liquidity: U256) -> Result<bool> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PancakeHelper` is never constructed
[INFO] [stderr]   --> src/pancake.rs:85:12
[INFO] [stderr]    |
[INFO] [stderr] 85 | pub struct PancakeHelper {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `get_pair_liquidity`, `create_swap_eth_for_tokens_tx`, `create_swap_tokens_for_eth_tx`, `get_token_price_in_bnb`, and `get_bnb_price_in_token` are never used
[INFO] [stderr]    --> src/pancake.rs:93:12
[INFO] [stderr]     |
[INFO] [stderr]  91 | impl PancakeHelper {
[INFO] [stderr]     | ------------------ associated items in this implementation
[INFO] [stderr]  92 |     /// Yangi PancakeHelper yaratish
[INFO] [stderr]  93 |     pub fn new(
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 110 |     pub async fn get_pair_liquidity(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 141 |     pub async fn create_swap_eth_for_tokens_tx(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 172 |     pub async fn create_swap_tokens_for_eth_tx(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 204 |     pub async fn get_token_price_in_bnb(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 223 |     pub async fn get_bnb_price_in_token(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `BuySubmitted`, `BuyConfirmed`, `SellSubmitted`, `SellConfirmed`, and `Failed` are never constructed
[INFO] [stderr]   --> src/strategy.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | enum OperationStatus {
[INFO] [stderr]    |      --------------- variants in this enum
[INFO] [stderr] 24 |     Pending,
[INFO] [stderr] 25 |     BuySubmitted(H256),
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 26 |     BuyConfirmed,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 27 |     SellSubmitted(H256),
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 28 |     SellConfirmed,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 29 |     Failed(String),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `OperationStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `start_time`, `gas_price`, `gas_boost`, `retries`, and `submission_time` are never read
[INFO] [stderr]   --> src/strategy.rs:43:5
[INFO] [stderr]    |
[INFO] [stderr] 35 | struct FrontRunOperation {
[INFO] [stderr]    |        ----------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 43 |     start_time: Instant,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 44 |     gas_price: U256,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 45 |     gas_boost: f64,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 |     retries: u8,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 |     submission_time: Instant,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FrontRunOperation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `original_tx` is never read
[INFO] [stderr]   --> src/transaction.rs:34:9
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub struct PendingTx {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub original_tx: Transaction,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PendingTx` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `main_wallet` is never read
[INFO] [stderr]   --> src/wallet.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct WalletManager {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] 21 |     pub wallets: HashMap<Address, LocalWallet>,
[INFO] [stderr] 22 |     pub main_wallet: LocalWallet,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `WalletManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/wallet.rs:60:18
[INFO] [stderr]     |
[INFO] [stderr]  25 | impl WalletManager {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  60 |     pub async fn check_balance(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  70 |     pub async fn check_all_balances(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  95 |     pub async fn get_eligible_wallets(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 117 |     pub async fn check_token_balance(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 151 |     pub async fn get_wallet_nonces(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 172 |     pub async fn select_least_busy_wallet(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 210 |     pub async fn transfer_bnb(
[INFO] [stderr]     |                  ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 243 |     pub async fn approve_token(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `max_concurrent_requests` is never read
[INFO] [stderr]   --> src/rpc_limiter.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct RpcRateLimiter {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 21 |     max_concurrent_requests: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RpcRateLimiter` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `acquire_many` and `get_status` are never used
[INFO] [stderr]    --> src/rpc_limiter.rs:116:18
[INFO] [stderr]     |
[INFO] [stderr]  29 | impl RpcRateLimiter {
[INFO] [stderr]     | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 116 |     pub async fn acquire_many(&self, n: usize) -> Vec<RpcPermit> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 129 |     pub async fn get_status(&self) -> (u32, Duration) {
[INFO] [stderr]     |                  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_transaction` is never used
[INFO] [stderr]    --> src/rpc_limiter.rs:146:18
[INFO] [stderr]     |
[INFO] [stderr] 146 |     pub async fn get_transaction(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_transaction_receipt` is never used
[INFO] [stderr]    --> src/rpc_limiter.rs:171:18
[INFO] [stderr]     |
[INFO] [stderr] 171 |     pub async fn get_transaction_receipt(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_balance` is never used
[INFO] [stderr]    --> src/rpc_limiter.rs:196:18
[INFO] [stderr]     |
[INFO] [stderr] 196 |     pub async fn get_balance(
[INFO] [stderr]     |                  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_gas_price` is never used
[INFO] [stderr]    --> src/rpc_limiter.rs:226:18
[INFO] [stderr]     |
[INFO] [stderr] 226 |     pub async fn get_gas_price(
[INFO] [stderr]     |                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `pro_mev` (bin "pro_mev" test) generated 67 warnings (run `cargo fix --bin "pro_mev" -p pro_mev --tests` to apply 37 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.47s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/pro_mev-181b362d09c3c04e)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "08a5b349f0143dd097624ddfc16aaee36f56564bc8cecb0b37f51207954513d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "08a5b349f0143dd097624ddfc16aaee36f56564bc8cecb0b37f51207954513d9", kill_on_drop: false }`
[INFO] [stdout] 08a5b349f0143dd097624ddfc16aaee36f56564bc8cecb0b37f51207954513d9
